class M99WFire extends SRKFShotgunFire;

var KFPlayerReplicationInfo KFPRI;

event ModeDoFire()
{
	if (Instigator == None)
		return;
		
	KFPRI = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo);
	if (	KFPRI != none && 
			KFPRI.ClientVeteranSkill == Class'SRVetSharpshooter'
		)
	{
		if( KFPRI.ClientVeteranSkillLevel == 11 )
		{
			FireRate=Default.FireRate / 2.0;
			FireAnimRate=Default.FireAnimRate * 2.0;
		}
		else if( KFPRI.ClientVeteranSkillLevel >= 12 )
		{
			FireRate=Default.FireRate / 2.5;
			FireAnimRate=Default.FireAnimRate * 2.5;
		}
		else
		{
			FireRate=Default.FireRate / 1.3;
			FireAnimRate=Default.FireAnimRate * 1.3;
		}
	}
	else
	{
		FireRate=Default.FireRate;
		FireAnimRate=Default.FireAnimRate;
	}
	Super.ModeDoFire();
}

 simulated function bool AllowFire()
{
	return (Weapon.AmmoAmount(ThisModeNum) >= AmmoPerFire);
}
/*
simulated function float GetSpread()
{
	local float NewSpread;
	local float AccuracyMod;

	AccuracyMod = 1.0;

	// Spread bonus for firing aiming
	if( KFWeap.bAimingRifle )
	{
		AccuracyMod *= 0.5;
	}

	// Small spread bonus for firing crouched
	if( Instigator != none && Instigator.bIsCrouched )
	{
		AccuracyMod *= 0.85;
	}


	else
	{
		// Decrease accuracy up to MaxSpread by the number of recent shots up to a max of six
		NewSpread = (Default.Spread * 12);
	}

	NewSpread *= AccuracyMod;

	return NewSpread;
}
*/
function float MaxRange()
{
	return 25000;
}

function DoFireEffect()
{
	Super(SRKFShotgunFire).DoFireEffect();
}

defaultproperties
{
     EffectiveRange=25000.000000
     maxVerticalRecoilAngle=4000
     maxHorizontalRecoilAngle=90
     FireAimedAnim="Fire_Iron"
     StereoFireSound=Sound'KFWeaponPackSounds.M99.M99_Fire'
     bRandomPitchFireSound=False
     ProjPerFire=1
     ProjSpawnOffset=(Y=0.000000,Z=0.000000)
     bWaitForRelease=True
     TransientSoundVolume=1.800000
     FireSound=Sound'KFWeaponPackSounds.M99.M99FireMono'
     NoAmmoSound=Sound'KF_XbowSnd.Xbow_DryFire'
     FireForce="AssaultRifleFire"
     FireRate=3.570000
     AmmoClass=Class'PerksSimHostOrg.M99WAmmo'
     ShakeRotMag=(X=5.000000,Y=7.000000,Z=3.000000)
     ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
     ShakeOffsetMag=(X=5.000000,Y=5.000000,Z=5.000000)
     ProjectileClass=Class'PerksSimHostOrg.M99WBullet'
     BotRefireRate=3.570000
     FlashEmitterClass=Class'PerksSimHostOrg.MuzzleFlash1stM99W'
     aimerror=0.000000
     Spread=0.000000
}
